En Rust, el patrón de coincidencia no es solo una rama del flujo de control—es la propia arquitectura de enlace. Cada vez que declaras una variable o defines una función, estás realizando una coincidencia de patrones.
1. La identidad del enlace
Cuando escribimos let x = 5;, no estamos simplemente asignando un valor. Estamos emparejando el valor 5 contra el patrón irrefutablex. Porque x es un nombre que puede representar cualquier valor, el emparejamiento siempre tiene éxito y crea un enlace local.
2. Parámetros con patrones (Listado 18-6)
Quizás la revelación más profunda es que las firmas de funciones son patrones. En la firma fn foo(x: i32), el código espera un i32 y utiliza el patrón x para vincular el argumento entrante. Esto significa que cada entrada de función es esencialmente un evento de coincidencia de un solo brazo.
3. Universalidad de los patrones
Los patrones van más allá de match. Aparecen en for bucles (desestructuración de tuplas), while let condicionales, e incluso if let expresiones. Esta Enlace local principio garantiza que el código de Rust sea consistentemente expresivo, ya sea que estés extrayendo datos de una estructura o iterando sobre un mapa hash.